package a.f.h.e;

import a.c.*;
import a.c.d;
import a.c.e;
import a.i.mb;

class b
{
  private q a;
  private int[] b;
  private int[] c;
  private int[] d;
  private int[] e;
  private int[] f;
  private int[] g;
  private int[] h;
  private int i;
  private int k;
  private int l;
  private b_ m = new b_();
  private boolean n = false;
  private boolean o = true;
  private a_ p;
  private c_[] q;
  private int[] r;
  private int s;
  
  public String a()
  {
    return this.m.toString();
  }
  
  public void a(boolean paramBoolean)
  {
    this.n = paramBoolean;
  }
  
  public void a(a.i.a.m paramm)
  {
    this.o = false;
  }
  
  public int a(q paramq, k paramk1, k paramk2, k paramk3, k paramk4, n paramn, x paramx)
  {
    boolean bool = a.v;
    int i19 = a.u;
    this.m.a();
    a(paramq, paramk1, paramk2, paramk3, paramk4);
    int i1 = 0;
    int i2 = 0;
    Object localObject1 = this.a.w();
    d locald;
    int j;
    while (((a.c.m)localObject1).e())
    {
      locald = ((a.c.m)localObject1).a();
      j = locald.d();
      int i3 = Math.abs(this.d[j]);
      if (i19 != 0) {
        break label168;
      }
      if (i3 > i1) {
        i1 = i3;
      }
      if (!bool)
      {
        if (this.c[j] > i2) {
          i2 = this.c[j];
        }
        ((a.c.m)localObject1).f();
      }
      if (i19 != 0)
      {
        if (bool) {
          break label166;
        }
        if (!bool) {}
        q.n = !q.n;
      }
    }
    label166:
    if (2147483647 / this.k < i1) {
      label168:
      throw new RuntimeException("Internal error: maxPathCost overflow!");
    }
    i1 *= this.k;
    localObject1 = new ab();
    e locale = this.a.p();
    Object localObject3 = this.a.v();
    Object localObject2;
    do
    {
      if (!((a.c.w)localObject3).e()) {
        break;
      }
      localObject2 = ((a.c.w)localObject3).d();
      if (bool) {
        break label339;
      }
      if (i19 != 0) {
        break label335;
      }
      if (localObject2 != locale)
      {
        ((ab)localObject1).add(this.a.a((e)localObject2, locale));
        ((ab)localObject1).add(this.a.a(locale, (e)localObject2));
      }
      ((a.c.w)localObject3).f();
    } while (i19 == 0);
    this.i = this.a.m();
    this.g = new int[this.k];
    if (!bool) {
      this.h = new int[this.i];
    }
    label335:
    label339:
    localObject3 = new int[this.k];
    d[] arrayOfd = new d[this.k];
    int[] arrayOfInt1 = new int[this.i];
    int[] arrayOfInt2 = new int[this.i];
    int[] arrayOfInt3 = new int[this.i];
    Object localObject4 = this.a.v();
    int i6;
    do
    {
      if (!((a.c.w)localObject4).e()) {
        break;
      }
      i6 = ((a.c.w)localObject4).d().f();
      int i4 = this.e[i6];
      int i5 = Math.abs(i4);
      if (!bool)
      {
        if (i5 > i2) {
          i2 = i5;
        }
        localObject3[i6] = i4;
        ((a.c.w)localObject4).f();
      }
    } while (i19 == 0);
    localObject4 = ((ab)localObject1).l();
    do
    {
      if (!((a.c.m)localObject4).e()) {
        break;
      }
      locald = ((a.c.m)localObject4).a();
      j = locald.d();
      arrayOfInt1[j] = 2147483647;
      arrayOfInt2[j] = i1;
      arrayOfInt3[j] = 2147483647;
      ((a.c.m)localObject4).f();
    } while (i19 == 0);
    localObject4 = new ab();
    a.c.m localm1 = this.a.w();
    do
    {
      if (!localm1.e()) {
        break;
      }
      locald = localm1.a();
      j = locald.d();
      int i8 = locald.e().f();
      int i9 = locald.f().f();
      if ((!bool) && (i19 != 0)) {
        break label771;
      }
      if (arrayOfInt1[j] != 2147483647)
      {
        arrayOfInt1[j] = this.c[j];
        arrayOfInt2[j] = this.d[j];
        int i7 = this.b[j];
        if (!bool)
        {
          if (i7 != 0)
          {
            localObject3[i8] -= i7;
            localObject3[i9] += i7;
            arrayOfInt1[j] -= i7;
          }
          arrayOfInt3[j] = arrayOfInt1[j];
        }
        if (bool) {
          continue;
        }
        if (arrayOfInt2[j] < 0)
        {
          ((ab)localObject4).add(locald);
          localObject3[i8] -= arrayOfInt1[j];
          localObject3[i9] += arrayOfInt1[j];
          arrayOfInt2[j] = (-arrayOfInt2[j]);
          this.a.e(locald);
        }
      }
      localm1.f();
    } while (i19 == 0);
    label771:
    int i10 = 1;
    i2 = i2 * this.i / (this.k * this.k);
    if (i2 >= i10) {
      i10 *= 2;
    }
    for (;;)
    {
      if ((bool) || (i19 == 0))
      {
        if (i19 == 0) {
          break;
        }
        if (!bool) {
          if (i10 > 0) {
            this.m.c += 1;
          }
        }
      }
    }
    label1022:
    int i17;
    label1090:
    label1102:
    label1503:
    label1529:
    while (bool)
    {
      int i13;
      do
      {
        if (i19 != 0) {
          break label1546;
        }
        localObject5 = this.a.w();
        do
        {
          if (!((a.c.m)localObject5).e()) {
            break label1102;
          }
          locald = ((a.c.m)localObject5).a();
          j = locald.d();
          int i11 = locald.e().f();
          i6 = locald.f().f();
          i13 = arrayOfInt2[j] + this.g[i11] - this.g[i6];
          if (i19 != 0) {
            break;
          }
          if (bool) {
            break label1574;
          }
          if (!bool)
          {
            if (arrayOfInt3[j] >= i10)
            {
              if (bool) {
                break label1022;
              }
              if (i13 < 0)
              {
                localObject3[i6] += arrayOfInt3[j];
                localObject3[i11] -= arrayOfInt3[j];
                this.h[j] = arrayOfInt1[j];
                arrayOfInt3[j] = 0;
                if (bool) {
                  continue;
                }
                if (i19 == 0) {
                  break label1090;
                }
              }
            }
            if (bool) {
              continue;
            }
          }
          else if (this.h[j] >= i10)
          {
            if (bool) {
              continue;
            }
            if (i13 > 0)
            {
              localObject3[i11] += this.h[j];
              localObject3[i6] -= this.h[j];
              this.h[j] = 0;
              arrayOfInt3[j] = arrayOfInt1[j];
            }
          }
          ((a.c.m)localObject5).f();
        } while (i19 == 0);
      } while (bool);
      a.c.w localw = this.a.v();
      do
      {
        do
        {
          if (!localw.e()) {
            break;
          }
          localObject5 = localw.d();
          if (i19 != 0) {
            break label1529;
          }
          i13 = ((e)localObject5).f();
          do
          {
            do
            {
              if (localObject3[i13] < i10) {
                break label1503;
              }
              this.m.d += 1;
              localObject6 = a((e)localObject5, i10, arrayOfInt2, arrayOfInt3, this.h, (int[])localObject3, arrayOfd);
              if (i19 != 0) {
                break;
              }
              if (localObject6 == null) {
                break label1503;
              }
              i16 = ((e)localObject6).f();
              i17 = localObject3[i13];
              localObject2 = localObject6;
              do
              {
                int i18;
                do
                {
                  if (localObject2 == localObject5) {
                    break;
                  }
                  locald = arrayOfd[localObject2.f()];
                  j = locald.d();
                  if (localObject2 == locald.f())
                  {
                    i18 = arrayOfInt3[j];
                    localObject2 = locald.e();
                    if (bool) {
                      continue;
                    }
                    if (i19 == 0) {}
                  }
                  else
                  {
                    i18 = this.h[j];
                    localObject2 = locald.f();
                  }
                } while (i18 >= i17);
                i17 = i18;
                if (bool) {
                  break label1335;
                }
                if ((!bool) && (i19 != 0)) {
                  break label1357;
                }
              } while ((!bool) && (i19 == 0));
              do
              {
                if ((bool) || (i17 > -localObject3[i16])) {
                  i17 = -localObject3[i16];
                }
                localObject2 = localObject6;
                do
                {
                  do
                  {
                    if (localObject2 == localObject5) {
                      break label1473;
                    }
                    locald = arrayOfd[localObject2.f()];
                    j = locald.d();
                    if (i19 != 0) {
                      break;
                    }
                    if (localObject2 != locald.f()) {
                      break label1439;
                    }
                    this.h[j] += i17;
                    arrayOfInt3[j] -= i17;
                    localObject2 = locald.e();
                    if (bool) {
                      break label1470;
                    }
                  } while (i19 == 0);
                  this.h[j] -= i17;
                  arrayOfInt3[j] += i17;
                  localObject2 = locald.f();
                } while (i19 == 0);
                localObject3[i13] -= i17;
                localObject3[i16] += i17;
              } while (bool);
            } while (i19 == 0);
            localw.f();
          } while (bool);
        } while (i19 == 0);
      } while (bool);
      i10 /= 2;
      if (i19 == 0) {
        break;
      }
    }
    label1335:
    label1357:
    Object localObject5 = ((ab)localObject4).l();
    label1439:
    label1470:
    label1473:
    do
    {
      if (!((a.c.m)localObject5).e()) {
        break;
      }
      locald = ((a.c.m)localObject5).a();
      if (i19 != 0) {
        break label1621;
      }
      j = locald.d();
      this.h[j] = (arrayOfInt1[j] - this.h[j]);
      this.a.e(locald);
      ((a.c.m)localObject5).f();
    } while (i19 == 0);
    label1546:
    label1574:
    label1621:
    int i12 = 1;
    a.c.m localm2 = ((ab)localObject1).l();
    do
    {
      do
      {
        if (!localm2.e()) {
          break;
        }
        locald = localm2.a();
        if (i19 != 0) {
          break label1701;
        }
        if (this.h[locald.d()] != 0) {
          i12 = 0;
        }
        localm2.f();
      } while (i19 == 0);
    } while (bool);
    localm2 = ((ab)localObject1).l();
    label1701:
    do
    {
      if (!localm2.e()) {
        break;
      }
      locald = localm2.a();
      this.a.a(locald);
      localm2.f();
      if (bool) {
        break label1770;
      }
      if (i19 != 0) {
        break label1769;
      }
    } while (i19 == 0);
    if ((!bool) && (!bool)) {
      if (i12 == 0) {
        throw new RuntimeException("Internal error: no feasible flow found!");
      }
    }
    label1769:
    label1770:
    int i14 = 0;
    Object localObject6 = this.a.w();
    do
    {
      if (!((a.c.m)localObject6).e()) {
        break;
      }
      locald = ((a.c.m)localObject6).a();
      j = locald.d();
      this.h[j] += this.b[j];
      if (!bool)
      {
        if (i19 != 0) {
          break label1884;
        }
        i14 += this.h[j] * this.d[j];
        paramn.a(locald, this.h[j]);
        ((a.c.m)localObject6).f();
      }
    } while (i19 == 0);
    label1884:
    int i15 = 2147483647;
    int i16 = 0;
    do
    {
      if (i16 >= this.k) {
        break;
      }
      if ((!bool) && (i19 != 0)) {
        break label2028;
      }
      if (this.g[i16] < i15) {
        i15 = this.g[i16];
      }
      i16++;
    } while (i19 == 0);
    if (!bool)
    {
      Object localObject7;
      if (paramx != null)
      {
        localObject7 = this.a.v();
        do
        {
          if (!((a.c.w)localObject7).e()) {
            break;
          }
          localObject2 = ((a.c.w)localObject7).d();
          paramx.a(localObject2, this.g[localObject2.f()] - i15);
          ((a.c.w)localObject7).f();
          if ((!bool) && (i19 != 0)) {
            break label2105;
          }
        } while (i19 == 0);
      }
      if (bool) {
        break label2105;
      }
      if (this.n)
      {
        label2028:
        localObject7 = new int[this.k];
        i17 = 0;
        do
        {
          if (i17 >= this.k) {
            break;
          }
          if (i19 != 0) {
            break label2107;
          }
          if (localObject7[i17] == 0)
          {
            if (bool) {
              continue;
            }
            if (!a(i17, (int[])localObject7)) {
              throw new RuntimeException("Internal error: negative cost cycle found!");
            }
          }
          i17++;
        } while (i19 == 0);
      }
    }
    this.m.c();
    label2105:
    label2107:
    if (bool) {
      q.o = !q.o;
    }
    return i14;
  }
  
  public int a(q paramq, k paramk1, k paramk2, k paramk3, n paramn, x paramx)
  {
    n localn = paramq.C();
    return a(paramq, localn, paramk1, paramk2, paramk3, paramn, paramx);
  }
  
  public int a(q paramq, e parame1, e parame2, k paramk1, k paramk2, n paramn, x paramx)
  {
    int j = a.a.w.a(paramq, parame1, parame2, paramk1, paramn);
    x localx = paramq.B();
    localx.a(parame1, j);
    localx.a(parame2, -j);
    return a(paramq, paramk1, paramk2, localx, paramn, paramx);
  }
  
  private void a(q paramq, k paramk1, k paramk2, k paramk3, k paramk4)
  {
    boolean bool = a.v;
    int i3 = a.u;
    this.a = paramq;
    this.i = this.a.m();
    this.k = this.a.k();
    this.b = new int[this.i];
    this.c = new int[this.i];
    this.d = new int[this.i];
    this.e = new int[this.k];
    this.f = new int[this.k];
    this.p = new a_(this.k);
    this.q = new c_[this.k];
    this.r = new int[this.k];
    int i1 = 0;
    this.l = 1;
    Object localObject = this.a.v();
    do
    {
      if (!((a.c.w)localObject).e()) {
        break;
      }
      e locale = ((a.c.w)localObject).d();
      int j = locale.f();
      this.q[j] = new c_(locale, j);
      this.e[j] = paramk4.getInt(locale);
      i1 += this.e[j];
      if (i3 != 0) {
        break label262;
      }
      if (this.e[j] > 0) {
        this.l += this.e[j];
      }
      ((a.c.w)localObject).f();
    } while (i3 == 0);
    if ((!bool) && (i1 != 0)) {
      label262:
      System.err.println("Warning: supply constraint broken!");
    }
    a.c.m localm = this.a.w();
    label410:
    do
    {
      if (!localm.e()) {
        break;
      }
      localObject = localm.a();
      int i2 = ((d)localObject).d();
      this.d[i2] = paramk3.getInt(localObject);
      if (!bool)
      {
        if (paramk1 != null) {
          this.b[i2] = paramk1.getInt(localObject);
        }
        this.c[i2] = paramk2.getInt(localObject);
      }
      if ((bool) || (this.b[i2] >= 0))
      {
        if (bool) {
          break label410;
        }
        if (this.c[i2] >= 0) {}
      }
      else
      {
        throw new a.c.a("found negative capacity");
      }
      if (!bool)
      {
        if (this.b[i2] > this.c[i2]) {
          throw new a.c.a("found lCap > uCap");
        }
        if (bool) {}
      }
      else
      {
        if (this.c[i2] == 2147483647)
        {
          this.c[i2] = this.l;
          if (bool) {
            continue;
          }
          if (this.b[i2] == 2147483647) {
            throw new a.c.a("found infinite lCap");
          }
        }
        localm.f();
      }
    } while (i3 == 0);
  }
  
  private e a(e parame, int paramInt, int[] paramArrayOfInt1, int[] paramArrayOfInt2, int[] paramArrayOfInt3, int[] paramArrayOfInt4, d[] paramArrayOfd)
  {
    boolean bool = a.v;
    int i8 = a.u;
    int j = 0;
    if (j < this.k) {}
    e locale3;
    do
    {
      this.f[j] = 2147483647;
      j++;
      if (i8 == 0) {
        break;
      }
      locale3 = null;
      int i5 = parame.f();
      this.f[i5] = 0;
      this.p.a();
      this.p.a(0, this.q[i5]);
    } while (bool);
    this.s = 0;
    int i7;
    label222:
    int i2;
    label513:
    label522:
    label536:
    label537:
    while (!this.p.c())
    {
      this.m.e += 1;
      c_ localc_ = this.p.b();
      this.p.a(localc_);
      e locale1 = localc_.b;
      int i1 = localc_.c;
      this.r[(this.s++)] = i1;
      if (paramArrayOfInt4[i1] <= -paramInt)
      {
        locale3 = locale1;
      }
      else
      {
        i7 = this.f[i1] + this.g[i1];
        d locald = locale1.h();
        int i3;
        e locale2;
        int i4;
        label335:
        label344:
        label363:
        do
        {
          do
          {
            if (locald == null) {
              break label363;
            }
            i3 = locald.d();
            if (i8 != 0) {
              break;
            }
            if (paramArrayOfInt2[i3] >= paramInt)
            {
              locale2 = locald.f();
              i2 = locale2.f();
              i4 = i7 - this.g[i2] + paramArrayOfInt1[i3];
              if (bool) {
                continue;
              }
              if (i4 < this.f[i2])
              {
                if (!bool) {
                  if (this.f[i2] == 2147483647)
                  {
                    this.p.a(i4, this.q[i2]);
                    if (bool) {
                      break label344;
                    }
                    if (i8 == 0) {
                      break label335;
                    }
                  }
                }
                this.p.a(this.q[i2], i4);
                this.f[i2] = i4;
                paramArrayOfd[i2] = locald;
              }
            }
            locald = locald.i();
          } while (i8 == 0);
        } while (bool);
        locald = locale1.i();
        for (;;)
        {
          if (locald == null) {
            break label537;
          }
          i3 = locald.d();
          if (bool) {
            break label222;
          }
          if (i8 != 0) {
            break;
          }
          if (paramArrayOfInt3[i3] >= paramInt)
          {
            locale2 = locald.e();
            i2 = locale2.f();
            i4 = i7 - this.g[i2] - paramArrayOfInt1[i3];
            if (bool) {
              break label536;
            }
            if (i4 < this.f[i2])
            {
              if (!bool) {
                if (this.f[i2] == 2147483647)
                {
                  this.p.a(i4, this.q[i2]);
                  if (bool) {
                    break label522;
                  }
                  if (i8 == 0) {
                    break label513;
                  }
                }
              }
              this.p.a(this.q[i2], i4);
              this.f[i2] = i4;
              paramArrayOfd[i2] = locald;
            }
          }
          locald = locald.j();
        }
      }
    }
    if (!bool) {
      if (locale3 != null)
      {
        int i6 = this.f[locale3.f()];
        i7 = this.s - 1;
        do
        {
          if (i7 < 0) {
            break;
          }
          i2 = this.r[i7];
          this.g[i2] += this.f[i2] - i6;
          i7--;
        } while (i8 == 0);
      }
    }
    return locale3;
  }
  
  private boolean a(int paramInt, int[] paramArrayOfInt)
  {
    boolean bool = a.v;
    int i5 = a.u;
    int j = 0;
    if (j < this.k) {}
    do
    {
      this.f[j] = 2147483647;
      j++;
      if (bool) {
        break label63;
      }
      if (i5 != 0) {
        break label62;
      }
      if (i5 == 0) {
        break;
      }
      this.f[paramInt] = 0;
    } while (bool);
    paramArrayOfInt[paramInt] = 1;
    label62:
    label63:
    int i4 = 0;
    if (i4 <= this.a.k() - 1) {}
    d locald;
    int i1;
    int i2;
    int i3;
    label230:
    while (bool)
    {
      if (i5 != 0) {
        break label337;
      }
      a.c.m localm2 = this.a.w();
      do
      {
        do
        {
          if (!localm2.e()) {
            break label312;
          }
          locald = localm2.a();
          i1 = locald.d();
          i2 = locald.e().f();
          i3 = locald.f().f();
          if (i5 != 0) {
            break;
          }
          if (this.h[i1] < this.c[i1])
          {
            if (bool) {
              break label230;
            }
            if (this.f[i2] != 2147483647)
            {
              j = this.f[i2] + this.d[i1];
              if (bool) {
                break label230;
              }
              if (this.f[i3] > j)
              {
                this.f[i3] = j;
                paramArrayOfInt[i3] = 1;
              }
            }
          }
          if (!bool)
          {
            if (this.h[i1] > 0)
            {
              if (bool) {
                continue;
              }
              if (this.f[i3] != 2147483647)
              {
                j = this.f[i3] - this.d[i1];
                if (bool) {
                  continue;
                }
                if (this.f[i2] > j)
                {
                  this.f[i2] = j;
                  paramArrayOfInt[i2] = 1;
                }
              }
            }
            localm2.f();
          }
        } while (i5 == 0);
        i4++;
      } while (bool);
      if (i5 == 0) {
        break;
      }
    }
    label312:
    label337:
    a.c.m localm1 = this.a.w();
    label480:
    do
    {
      if (!localm1.e()) {
        break;
      }
      locald = localm1.a();
      i1 = locald.d();
      i2 = locald.e().f();
      i3 = locald.f().f();
      if ((!bool) && (i5 != 0)) {
        break label543;
      }
      if (!bool)
      {
        if (this.f[i2] != 2147483647)
        {
          if (bool) {
            break label480;
          }
          if (this.h[i1] < this.c[i1])
          {
            if (bool) {
              break label480;
            }
            if (this.f[i3] > this.f[i2] + this.d[i1]) {
              return false;
            }
          }
        }
        if (bool) {
          continue;
        }
      }
      if (this.f[i3] != 2147483647)
      {
        if (bool) {
          continue;
        }
        if (this.h[i1] > 0)
        {
          if (bool) {
            continue;
          }
          if (this.f[i2] > this.f[i3] - this.d[i1]) {
            return false;
          }
        }
      }
      localm1.f();
    } while (i5 == 0);
    label543:
    return true;
  }
  
  private static class b_
  {
    private String a;
    private mb b = new mb();
    int c;
    int d;
    int e;
    
    public void a()
    {
      this.c = 0;
      this.d = 0;
      this.e = 0;
      this.a = "0";
      this.b.a();
      this.b.g();
    }
    
    public void c()
    {
      this.a = this.b.toString();
    }
    
    public String toString()
    {
      return "\nMinCostFlow-Statistics:\n   Time: " + this.a + "\n   Scalings: " + this.c + "\n   Augmentations : " + this.d + "\n   ExtractMins: " + this.e;
    }
  }
  
  static class a_
  {
    private b.c_[] a;
    private int c;
    
    a_(int paramInt)
    {
      this.a = new b.c_[paramInt + 2];
      this.c = 0;
    }
    
    public void a(int paramInt, b.c_ paramc_)
    {
      this.c += 1;
      paramc_.a = paramInt;
      paramc_.d = this.c;
      c(this.c, paramc_);
    }
    
    public void a()
    {
      boolean bool = a.v;
      int j = a.u;
      int i = 1;
      if (i <= this.c) {}
      while (bool)
      {
        this.a[i] = null;
        i++;
        if ((!bool) && (j != 0)) {
          return;
        }
        if (j == 0) {
          break;
        }
      }
      this.c = 0;
    }
    
    public void c(int paramInt, b.c_ paramc_)
    {
      boolean bool = a.v;
      int j = a.u;
      this.a[0] = paramc_;
      int i = paramInt / 2;
      b.c_ localc_ = this.a[i];
      if (localc_.a > paramc_.a) {
        this.a[paramInt] = localc_;
      }
      do
      {
        localc_.d = paramInt;
        paramInt = i;
        i >>= 1;
        localc_ = this.a[i];
        if ((!bool) && (j != 0)) {
          return;
        }
        if (j == 0) {
          break;
        }
        this.a[paramInt] = paramc_;
      } while (bool);
      paramc_.d = paramInt;
    }
    
    public void e(int paramInt, b.c_ paramc_)
    {
      boolean bool = a.v;
      int j = a.u;
      int i = paramInt << 1;
      this.a[(this.c + 1)] = this.a[this.c];
      if (i <= this.c) {}
      label117:
      do
      {
        b.c_ localc_ = this.a[i];
        if ((!bool) && (j != 0)) {
          return;
        }
        if (!bool) {
          if (i < this.c)
          {
            if (bool) {
              break label117;
            }
            if (this.a[(i + 1)].a < localc_.a) {
              localc_ = this.a[(++i)];
            }
          }
        }
        if (!bool)
        {
          if (paramc_.a > localc_.a)
          {
            this.a[paramInt] = localc_;
            localc_.d = paramInt;
            paramInt = i;
          }
        }
        else
        {
          i <<= 1;
          if (j == 0) {
            break;
          }
        }
        this.a[paramInt] = paramc_;
      } while (bool);
      paramc_.d = paramInt;
    }
    
    public void a(b.c_ paramc_)
    {
      boolean bool = a.v;
      b.c_ localc_ = this.a[this.c];
      this.a[this.c] = null;
      this.c -= 1;
      if ((bool) || (paramc_ != localc_))
      {
        if (!bool)
        {
          if (localc_.a > paramc_.a)
          {
            if (bool) {
              break label83;
            }
            e(paramc_.d, localc_);
          }
        }
        else if (a.u == 0) {
          return;
        }
        label83:
        c(paramc_.d, localc_);
      }
    }
    
    public void a(b.c_ paramc_, int paramInt)
    {
      paramc_.a = paramInt;
      c(paramc_.d, paramc_);
    }
    
    public b.c_ b()
    {
      return this.a[1];
    }
    
    public boolean c()
    {
      if (!a.v) {}
      return this.c == 0;
    }
    
    public int e()
    {
      return this.c;
    }
  }
  
  static class c_
  {
    int a;
    e b;
    int c;
    int d;
    
    c_(e parame, int paramInt)
    {
      this.b = parame;
      this.c = paramInt;
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.h.e.b

 * JD-Core Version:    0.7.0.1

 */